package com.dog.basics.bean.dto.admin.sys;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;

/**
 * <p>
 * 菜单权限表
 * </p>
 *
 * @author guoy
 * @since 2020-03-19
 */
@Data

public class SysMenuEditDto implements Serializable {

    private static final long serialVersionUID = 1L;

    @NotNull(message = "menuId不能为空")
    @ApiModelProperty(value = "菜单ID", dataType = "Long", required = true)
    private Long menuId;
    /**
     * 菜单名称
     */
    @NotBlank(message = "菜单名称不能为空")
    @Size(max = 20, message = "菜单名称最大长度为20")
    @ApiModelProperty(value = "菜单名称", dataType = "String", required = true)
    private String name;

    /**
     * 菜单权限标识
     */
    @ApiModelProperty(value = "菜单名称", dataType = "String", required = false)
    private String permission;

    /**
     * 前端URL
     */
    @NotBlank(message = "前端URL不能为空")
    @Size(max = 200, message = "前端URL最大长度为200")
    @ApiModelProperty(value = "前端URL", dataType = "String", required = true)
    private String path;

    /**
     * 父菜单ID
     */
    @NotNull(message = "父菜单ID不能为空")
    @ApiModelProperty(value = "父菜单ID", dataType = "Long", required = true)
    private Long parentId;

    /**
     * 图标
     */
    @ApiModelProperty(value = "图标", dataType = "String", required = false)
    private String icon;

    /**
     * VUE页面
     */
    @ApiModelProperty(value = "VUE页面", dataType = "String", required = false)
    private String component;

    /**
     * 排序值
     */

    @ApiModelProperty(value = "排序值", dataType = "Integer", required = false)
    private Integer sort;


    /**
     * 菜单类型 （0菜单 1按钮）
     */
    @NotNull(message = "菜单类型不能为空")
    @ApiModelProperty(value = "菜单类型 （0菜单 1按钮）", dataType = "Integer", required = true)
    private Integer type;
}
